package cn.dinkevin.xui.util;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

/**
 * Map 工具类
 * Created by ChengPengFei on 2016/12/29 0029.
 */

public final class MapUtil {

    private MapUtil(){}

    /**
     * 将 Map 集合中的内容输出到 List 数组中
     * @param map 数据集合
     * @param <K> key
     * @param <V> value
     * @return List 数组
     */
    public static <K,V> List<V> output(Map<K,V> map){
        List<V> result = new ArrayList<>();
        Iterator<K> it = map.keySet().iterator();
        while (it.hasNext()){
            V value = map.get(it.next());
            result.add(value);
        }
        return result;
    }

    /**
     * 读取集合中的随意一个元素值
     * @param map 数据源集合
     * @param <K>
     * @param <V>
     * @return 随意一个元素
     */
    public static <K,V> V one(Map<K,V> map){
        if(map.size() > 0){
            Iterator<K> it = map.keySet().iterator();
            if(it.hasNext()){
                return map.remove(it.next());
            }
        }
        return null;
    }
}
